home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / depos111.zip / DEPOSIT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-04-01  |  14KB  |  861 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     DATE001
  20.     Date     DATE002
  21.     Date     DATE003
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     Integer  INTEGER011
  32.     Integer  INTEGER012
  33.     Integer  INTEGER013
  34.     Integer  INTEGER014
  35.     Integer  INTEGER015
  36.     Integer  INTEGER016
  37.     Integer  INTEGER017
  38.     Integer  INTEGER018
  39.     Integer  INTEGER019
  40.     Integer  INTEGER020
  41.     Integer  INTEGER021
  42.     Integer  INTEGER022
  43.     Integer  INTEGER023
  44.     Integer  INTEGER024
  45.     Integer  INTEGER025
  46.     Integer  INTEGER026
  47.     Integer  INTEGER027
  48.     Integer  INTEGER028
  49.     Integer  INTEGER029
  50.     String   STRING001
  51.     String   STRING002
  52.     String   STRING003
  53.     String   STRING004
  54.     String   STRING005
  55.     String   STRING006
  56.     String   STRING007
  57.     String   STRING008
  58.     String   STRING009
  59.     String   STRING010
  60.     String   STRING011
  61.     String   STRING012
  62.     String   STRING013
  63.     String   STRING014
  64.     String   STRING015
  65.     String   STRING016
  66.     String   STRING017
  67.     String   STRING018
  68.     String   STRING019
  69.     String   STRING020
  70.     String   TSTRING021(6)
  71.     String   STRING022
  72.     String   STRING023
  73.     String   STRING024
  74.     String   STRING025
  75.     String   STRING026
  76.     String   STRING027
  77.     String   STRING028
  78.     String   STRING029
  79.     String   STRING030
  80.     String   STRING031
  81.  
  82. ;------------------------------------------------------------------------------
  83.  
  84.     STRING017 = 1.11
  85.     Log "Opened Depository PPE", 1
  86.     CdChkOn
  87.     Cls
  88.     STRING008 = GetEnv("PCB_PWRD")
  89.     If (STRING008 == "") Then
  90.         STRING030 = "Environment Variable was not set. Please tell Sysop."
  91.         Log "PCB_PWRD environment variable not set.. ", 0
  92.     ElseIf (Exist(STRING008) == 0) Then
  93.         STRING030 = "File associated with environmet not found. Please tell Sysop."
  94.         Log "PCB_PWRD Environment variable " + STRING008 + " was not found!", 0
  95.     Else
  96.         FOpen 1, STRING008, 0, 0
  97.         FGet 1, STRING023
  98.         FClose 1
  99.         INTEGER022 = Len(STRING023)
  100.         STRING031 = 0
  101.         While (STRING031 < INTEGER022) Do
  102.             STRING031 = STRING031 + 1
  103.             If (Mid(STRING023, STRING031, 1) == ",") Then
  104.                 INTEGER017 = INTEGER017 + 1
  105.             Endif
  106.         EndWhile
  107.         If (INTEGER017 < 7) Then
  108.             Log "PWRD file is not the correct format.", 0
  109.             Log "Please check that the FORMAT is 15.x extended format.", 0
  110.             STRING030 = "Please tell SYSOP that the PWRD file has incorrect format."
  111.         Else
  112.             GetUser
  113.             Cls
  114.             INTEGER004 = U_PageLen
  115.             If (INTEGER004 <> 25) Then
  116.                 U_PageLen = 25
  117.                 PutUser
  118.             Endif
  119.             STRING020 = PPEPath()
  120.             STRING020 = STRING020 + "INTRO.PCB"
  121.             INTEGER014 = 1
  122.             TSTRING021(INTEGER014) = STRING020
  123.             Gosub LABEL012
  124.             DispFile TSTRING021(INTEGER014), 0
  125.             AnsiPos 14, 22
  126.             PrintLn "@X0E(c)1993,96 PRACTICAL COMPUTER SERVICES (609) 587-2672@X07"
  127.             AnsiPos 5, 23
  128.             Print "@X0DThis software is Unregistered!@X0E Please ask@X8F YOUR SYSOP@X0E to Register it!@X07"
  129.             Delay 50
  130.             GetUser
  131.             STRING025 = PPEPath()
  132.             STRING025 = STRING025 + "DEPOSIT.CFG"
  133.             FOpen 1, STRING025, 0, 0
  134.             INTEGER014 = 1
  135.             TSTRING021(INTEGER014) = STRING025
  136.             Gosub LABEL012
  137.             FGet 1, STRING006
  138.             FGet 1, STRING007
  139.             FGet 1, INTEGER005
  140.             FGet 1, INTEGER006
  141.             FClose 1
  142.             STRING008 = GetEnv("PCB_PWRD")
  143.             If (STRING008 == "") Stop
  144.             If (Exist(STRING008) == 0) Stop
  145.             STRING001 = U_Sec
  146.             FOpen 1, STRING008, 0, 0
  147.             INTEGER013 = 0
  148.             While (INTEGER013 == 0) Do
  149.                 FGet 1, STRING019
  150.                 STRING024 = Mid(STRING019, 1, 5)
  151.                 If (InStr(STRING024, STRING001) > 0) Then
  152.                     INTEGER017 = 0
  153.                     INTEGER018 = 0
  154.                     While (INTEGER017 <= 2) Do
  155.                         STRING022 = Mid(STRING019, INTEGER018, 1)
  156.                         If (STRING022 == ",") Then
  157.                             INTEGER017 = INTEGER017 + 1
  158.                         Endif
  159.                         INTEGER018 = INTEGER018 + 1
  160.                     EndWhile
  161.                     INTEGER019 = INTEGER018
  162.                     INTEGER017 = 0
  163.                     While (INTEGER017 < 1) Do
  164.                         STRING022 = Mid(STRING019, INTEGER018, 1)
  165.                         If (STRING022 == ",") Then
  166.                             INTEGER017 = INTEGER017 + 1
  167.                         Endif
  168.                         INTEGER018 = INTEGER018 + 1
  169.                     EndWhile
  170.                     INTEGER020 = INTEGER018 - 1
  171.                     INTEGER021 = INTEGER020 - INTEGER019
  172.                     STRING002 = Mid(STRING019, INTEGER019, INTEGER021)
  173.                     If (STRING002 == "32767") Then
  174.                         STRING002 = "UNLIMITED"
  175.                         Goto LABEL001
  176.                     Endif
  177.                     STRING002 = STRING002 * 1024
  178.                     :LABEL001
  179.                     INTEGER013 = 1
  180.                 Endif
  181.             EndWhile
  182.             FClose 1
  183.             If (STRING002 == "UNLIMITED") Then
  184.                 STRING003 = STRING002
  185.             Else
  186.                 INTEGER022 = STRING002
  187.                 INTEGER022 = INTEGER022 - U_BdlDay()
  188.                 STRING003 = INTEGER022
  189.             Endif
  190.             INTEGER019 = 0
  191.             INTEGER020 = 0
  192.             INTEGER013 = 0
  193.             STRING025 = STRING008
  194.             INTEGER014 = 1
  195.             TSTRING021(INTEGER014) = STRING025
  196.             Gosub LABEL012
  197.             FOpen 1, STRING008, 0, 0
  198.             While (INTEGER013 == 0) Do
  199.                 FGet 1, STRING019
  200.                 STRING024 = Mid(STRING019, 1, 5)
  201.                 If (InStr(STRING024, STRING001) > 0) Then
  202.                     INTEGER017 = 0
  203.                     INTEGER018 = 0
  204.                     While (INTEGER017 <= 5) Do
  205.                         STRING022 = Mid(STRING019, INTEGER018, 1)
  206.                         If (STRING022 == ",") Then
  207.                             INTEGER017 = INTEGER017 + 1
  208.                         Endif
  209.                         INTEGER018 = INTEGER018 + 1
  210.                     EndWhile
  211.                     INTEGER019 = INTEGER018
  212.                     INTEGER017 = 0
  213.                     While (INTEGER017 < 1) Do
  214.                         STRING022 = Mid(STRING019, INTEGER018, 1)
  215.                         If (STRING022 == ",") Then
  216.                             INTEGER017 = INTEGER017 + 1
  217.                         Endif
  218.                         INTEGER018 = INTEGER018 + 1
  219.                     EndWhile
  220.                     INTEGER020 = INTEGER018 - 1
  221.                     INTEGER021 = INTEGER020 - INTEGER019
  222.                     STRING023 = Mid(STRING019, INTEGER019, INTEGER021)
  223.                     INTEGER022 = STRING023
  224.                     INTEGER022 = INTEGER022 / 10
  225.                     STRING023 = INTEGER022
  226.                     If (STRING023 == "0") Then
  227.                         STRING005 = "NA"
  228.                         Goto LABEL002
  229.                     Endif
  230.                     STRING005 = "1:" + STRING023
  231.                     :LABEL002
  232.                     INTEGER013 = 1
  233.                 Endif
  234.             EndWhile
  235.             FClose 1
  236.             FClose 1
  237.             INTEGER002 = U_Ful()
  238.             INTEGER003 = U_Fdl()
  239.             If (INTEGER002 > INTEGER003) Then
  240.                 INTEGER025 = INTEGER002 / INTEGER003
  241.                 STRING023 = INTEGER025
  242.                 STRING004 = STRING023 + ":1"
  243.             Endif
  244.             If (INTEGER003 > INTEGER002) Then
  245.                 INTEGER025 = INTEGER003 / INTEGER002
  246.                 STRING023 = INTEGER025
  247.                 STRING004 = "1:" + STRING023
  248.             Endif
  249.             If (INTEGER003 == INTEGER002) Then
  250.                 STRING004 = "1:1"
  251.             Endif
  252.             INTEGER013 = 0
  253.             STRING025 = PPEPath()
  254.             STRING025 = STRING025 + "DEPOSIT.NDX"
  255.             FOpen 1, STRING025, 0, 0
  256.             While (INTEGER013 == 0) Do
  257.                 If (INTEGER013 == 0) FGet 1, STRING019
  258.                 If (STRING019 <> "") Then
  259.                     INTEGER022 = InStr(STRING019, "/")
  260.                     INTEGER024 = Len(STRING019)
  261.                     STRING023 = Mid(STRING019, INTEGER022 + 1, INTEGER024 - INTEGER022)
  262.                     INTEGER011 = STRING023
  263.                     STRING023 = Mid(STRING019, 1, INTEGER022 - 1)
  264.                     STRING014 = U_Name()
  265.                     If (InStr(STRING023, STRING014) > 0) Then
  266.                         INTEGER013 = 1
  267.                         STRING025 = PPEPath()
  268.                         STRING025 = STRING025 + "DEPOSIT.DAT"
  269.                         FOpen 2, STRING025, 0, 0
  270.                         INTEGER026 = 0
  271.                         INTEGER017 = 0
  272.                         While (INTEGER026 == 0) Do
  273.                             FGet 2, STRING019
  274.                             If (STRING019 == "") INTEGER026 = 1
  275.                             INTEGER017 = INTEGER017 + 1
  276.                             If (INTEGER017 == INTEGER011) Then
  277.                                 INTEGER026 = 1
  278.                             Endif
  279.                         EndWhile
  280.                         STRING014 = STRING019
  281.                         FGet 2, STRING019
  282.                         DATE001 = STRING019
  283.                         FGet 2, STRING019
  284.                         DATE002 = STRING019
  285.                         FGet 2, STRING019
  286.                         DATE003 = STRING019
  287.                         FGet 2, STRING019
  288.                         INTEGER007 = STRING019
  289.                         FGet 2, STRING019
  290.                         INTEGER008 = STRING019
  291.                         FGet 2, STRING019
  292.                         STRING015 = STRING019
  293.                         FGet 2, STRING019
  294.                         STRING016 = STRING019
  295.                         FGet 2, STRING019
  296.                         INTEGER009 = STRING019
  297.                         FGet 2, STRING019
  298.                         INTEGER010 = STRING019
  299.                         FGet 2, STRING019
  300.                         STRING012 = STRING019
  301.                         FGet 2, STRING019
  302.                         STRING013 = STRING019
  303.                         INTEGER013 = 1
  304.                         FClose 2
  305.                     Endif
  306.                     Continue
  307.                 Endif
  308.                 FClose 1
  309.                 Gosub LABEL010
  310.                 INTEGER013 = 1
  311.             EndWhile
  312.             If (DATE001 <> Date()) Then
  313.                 STRING012 = "0"
  314.                 STRING013 = "0"
  315.             Endif
  316.             INTEGER028 = STRING012
  317.             INTEGER029 = STRING013
  318.             Gosub LABEL011
  319.             :LABEL003
  320.             AnsiPos 24, 7
  321.             STRING023 = MinLeft()
  322.             Print "@X70" + STRING023 + "@X07"
  323.             AnsiPos 28, 23
  324.             InputStr "@X0EEnter your choice@X07 ", STRING026, 4, 1, "QDWEqdwe", 32
  325.             If (Upper(STRING026) == "Q") Goto LABEL004
  326.             If (Upper(STRING026) == "D") Then
  327.                 Gosub LABEL005
  328.                 Goto LABEL003
  329.             Endif
  330.             If (Upper(STRING026) == "W") Then
  331.                 Gosub LABEL007
  332.                 Goto LABEL003
  333.             Endif
  334.             If (Upper(STRING026) == "E") Then
  335.                 Gosub LABEL009
  336.                 Goto LABEL003
  337.             Endif
  338.             Goto LABEL003
  339.         Endif
  340.     Endif
  341.     Cls
  342.     If (STRING030 > "") Then
  343.         PrintLn STRING030
  344.     Endif
  345.     FClose 1
  346.     FClose 2
  347.     FClose 3
  348.     FClose 4
  349.     Stop
  350.     :LABEL004
  351.     FClose 1
  352.     FClose 2
  353.     FClose 3
  354.     FClose 4
  355.     Gosub LABEL013
  356.     GetUser
  357.     INTEGER022 = MinLeft()
  358.     If (INTEGER022 < 1) Bye
  359.     Cls
  360.     End
  361.     :LABEL005
  362.     AnsiPos 14, 23
  363.     InputStr "Deposit @X0E(B)@X03ytes, @X0E(T)@X03ime, or @X0E(Q)@X03uit back to menu ", STRING026, 3, 1, "BTQbtq", 32
  364.     If (Upper(STRING026) == "Q") Goto LABEL003
  365.     If (Upper(STRING026) == "B") Then
  366.         AnsiPos 15, 23
  367.         InputStr "@X0EInput Byte amount you wish to Deposit@X07 ", STRING026, 4, 10, "9876543210", 32
  368.         AnsiPos 15, 23
  369.         InputStr "@X0EAre you sure you wish to deposit " + STRING026 + " Bytes@X07 ", STRING028, 4, 1, "YyNn", 32
  370.         If (Upper(STRING028) == "Y") Then
  371.             INTEGER022 = STRING002
  372.             If (STRING002 == "UNLIMITED") INTEGER022 = 0
  373.             INTEGER022 = INTEGER022 - U_BdlDay()
  374.             If (INTEGER022 < 1) Then
  375.                 AnsiPos 5, 23
  376.                 InputStr "Value entered is larger than Bytes remaining. Hit enter to continue.", STRING026, 9, 1, "", 32
  377.                 Goto LABEL005
  378.             Endif
  379.             INTEGER023 = STRING026
  380.             If (INTEGER023 > INTEGER022) Then
  381.                 AnsiPos 5, 23
  382.                 InputStr "Value entered is larger than Bytes remaining. Hit enter to continue.", STRING026, 9, 1, "", 32
  383.                 Goto LABEL005
  384.             Endif
  385.             DATE002 = Date()
  386.             INTEGER007 = STRING026
  387.             INTEGER028 = INTEGER028 - INTEGER007
  388.             STRING015 = "BYTE"
  389.             INTEGER010 = INTEGER010 + INTEGER007
  390.             STRING020 = PPEPath()
  391.             STRING020 = STRING020 + "USYSUPD.EXE"
  392.             WrUSys
  393.             Shell 1, STRING027, STRING020, INTEGER007
  394.             RdUSys
  395.             PutUser
  396.             GetUser
  397.             If (STRING002 == "UNLIMITED") Then
  398.                 STRING003 = STRING002
  399.                 Goto LABEL006
  400.             Endif
  401.             INTEGER022 = STRING002
  402.             INTEGER022 = INTEGER022 - U_BdlDay()
  403.             STRING003 = INTEGER022
  404.             :LABEL006
  405.             Gosub LABEL011
  406.         Endif
  407.         Goto LABEL005
  408.     Endif
  409.     If (Upper(STRING026) == "T") Then
  410.         AnsiPos 5, 23
  411.         INTEGER022 = MinLeft()
  412.         STRING023 = INTEGER022
  413.         InputStr "@X0EYou have " + STRING023 + " available. Input Time amount you wish to Deposit@X07 ", STRING026, 4, 10, "9876543210", 32
  414.         AnsiPos 15, 23
  415.         InputStr "@X0EAre you sure you wish to deposit " + STRING026 + " Time@X07 ", STRING028, 4, 1, "YyNn", 32
  416.         If (Upper(STRING028) == "Y") Then
  417.             INTEGER027 = STRING026
  418.             INTEGER022 = MinLeft()
  419.             If (INTEGER027 > INTEGER022) Then
  420.                 AnsiPos 5, 23
  421.                 InputStr "Value entered is more than the time remaining. Hit enter to continue.", STRING026, 9, 1, "", 32
  422.                 Goto LABEL003
  423.             Endif
  424.             DATE002 = Date()
  425.             INTEGER007 = STRING026
  426.             STRING015 = "TIME"
  427.             INTEGER009 = INTEGER009 + INTEGER007
  428.             INTEGER027 = INTEGER027 * -1
  429.             AdjTime INTEGER027
  430.             INTEGER029 = INTEGER029 - INTEGER007
  431.             Cls
  432.             Gosub LABEL011
  433.         Endif
  434.         Goto LABEL005
  435.     Endif
  436.     :LABEL007
  437.     AnsiPos 13, 23
  438.     InputStr "Withdraw @X0E(B)@X03ytes, @X0E(T)@X03ime, or @X0E(Q)@X03uit back to menu ", STRING026, 3, 1, "BTQbtq", 32
  439.     If (Upper(STRING026) == "Q") Goto LABEL003
  440.     If (Upper(STRING026) == "B") Then
  441.         AnsiPos 15, 23
  442.         InputStr "@X0EInput Byte amount you wish to Withdraw@X07 ", STRING026, 4, 10, "9876543210", 32
  443.         AnsiPos 15, 23
  444.         InputStr "@X0EAre you sure you wish to withdraw " + STRING026 + " Bytes@X07 ", STRING028, 4, 1, "YyNn", 32
  445.         If (Upper(STRING028) == "Y") Then
  446.             INTEGER027 = STRING026
  447.             If (INTEGER027 > INTEGER010) Then
  448.                 AnsiPos 5, 23
  449.                 InputStr "Value entered is more than Bytes saved. Hit enter to continue.", STRING026, 9, 1, "", 32
  450.                 Goto LABEL007
  451.             Endif
  452.             If (INTEGER027 > STRING007) Then
  453.                 AnsiPos 1, 23
  454.                 InputStr "Value entered is more than Maximum Bytes allowed . Hit enter to continue.", STRING026, 9, 1, "", 32
  455.                 Goto LABEL007
  456.             Endif
  457.             INTEGER022 = INTEGER028 + INTEGER027
  458.             If (INTEGER022 > STRING007) Then
  459.                 AnsiPos 1, 23
  460.                 InputStr "Value entered is more than Maximum Bytes allowed . Hit enter to continue.", STRING026, 9, 1, "", 32
  461.                 Goto LABEL007
  462.             Endif
  463.             DATE003 = Date()
  464.             INTEGER008 = INTEGER027
  465.             STRING016 = "BYTE"
  466.             INTEGER010 = INTEGER010 - INTEGER008
  467.             INTEGER022 = INTEGER008 * -1
  468.             INTEGER028 = INTEGER028 + INTEGER008
  469.             STRING020 = PPEPath()
  470.             STRING020 = STRING020 + "USYSUPD.EXE"
  471.             WrUSys
  472.             Shell 1, STRING027, STRING020, INTEGER022
  473.             RdUSys
  474.             PutUser
  475.             GetUser
  476.             If (STRING002 == "UNLIMITED") Then
  477.                 STRING003 = STRING002
  478.                 Goto LABEL008
  479.             Endif
  480.             INTEGER022 = STRING002
  481.             INTEGER022 = INTEGER022 - U_BdlDay()
  482.             STRING003 = INTEGER022
  483.             :LABEL008
  484.             Gosub LABEL011
  485.         Endif
  486.         Goto LABEL007
  487.     Endif
  488.     If (Upper(STRING026) == "T") Then
  489.         AnsiPos 5, 23
  490.         INTEGER022 = MinLeft()
  491.         STRING023 = INTEGER022
  492.         InputStr "@X0EInput Time amount you wish to Withdraw@X07 ", STRING026, 4, 10, "9876543210", 32
  493.         AnsiPos 15, 23
  494.         InputStr "@X0EAre you sure you wish to withdraw " + STRING026 + " Time@X07 ", STRING028, 4, 1, "YyNn", 32
  495.         If (Upper(STRING028) == "Y") Then
  496.             INTEGER027 = STRING026
  497.             If (INTEGER009 < INTEGER027) Then
  498.                 AnsiPos 5, 23
  499.                 InputStr "Value entered is more than time saved. Hit enter to continue.", STRING026, 9, 1, "", 32
  500.                 Goto LABEL007
  501.             Endif
  502.             If (INTEGER027 > STRING006) Then
  503.                 AnsiPos 1, 23
  504.                 InputStr "Value entered is more than Maximum Time allowed . Hit enter to continue.", STRING026, 9, 1, "", 32
  505.                 Goto LABEL007
  506.             Endif
  507.             INTEGER022 = INTEGER029 + INTEGER027
  508.             If (INTEGER022 > STRING006) Then
  509.                 AnsiPos 1, 23
  510.                 InputStr "Value entered is more than Maximum Time allowed . Hit enter to continue.", STRING026, 9, 1, "", 32
  511.                 Goto LABEL007
  512.             Endif
  513.             DATE003 = Date()
  514.             INTEGER008 = STRING026
  515.             STRING016 = "TIME"
  516.             INTEGER009 = INTEGER009 - INTEGER008
  517.             AdjTime INTEGER008
  518.             INTEGER029 = INTEGER029 + INTEGER008
  519.             Cls
  520.             Gosub LABEL011
  521.         Endif
  522.         Goto LABEL007
  523.     Endif
  524.     Goto LABEL007
  525.     :LABEL009
  526.     AnsiPos 13, 23
  527.     InputStr "Exchange @X0E(B)@X03ytes, @X0E(T)@X03ime, or @X0E(Q)@X03uit back to menu ", STRING026, 3, 1, "BTQbtq", 32
  528.     If (Upper(STRING026) == "Q") Goto LABEL003
  529.     If (Upper(STRING026) == "B") Then
  530.         AnsiPos 10, 23
  531.         STRING023 = INTEGER006
  532.         InputStr "@X0EInput Byte amount to Exchange, in increments of@X07 " + STRING023, STRING026, 4, 10, "9876543210", 32
  533.         AnsiPos 15, 23
  534.         InputStr "@X0EAre you sure you wish to exchange " + STRING026 + " Bytes@X07 ", STRING028, 4, 1, "YyNn", 32
  535.         If (Upper(STRING028) == "Y") Then
  536.             INTEGER027 = STRING026
  537.             If (INTEGER027 > INTEGER010) Then
  538.                 AnsiPos 5, 23
  539.                 InputStr "Value entered is more than Bytes saved. Hit enter to continue.", STRING026, 9, 1, "", 32
  540.                 Goto LABEL009
  541.             Endif
  542.             If (INTEGER027 > STRING007) Then
  543.                 AnsiPos 1, 23
  544.                 InputStr "Value entered is more than Maximum Bytes allowed . Hit enter to continue.", STRING026, 9, 1, "", 32
  545.                 Goto LABEL007
  546.             Endif
  547.             If (INTEGER027 < INTEGER006) Then
  548.                 AnsiPos 1, 23
  549.                 InputStr "Value entered is less than then minimum value of " + STRING023 + ". Hit enter to continue.", STRING026, 9, 1, "", 32
  550.                 Goto LABEL007
  551.             Endif
  552.             DATE003 = Date()
  553.             INTEGER008 = INTEGER027
  554.             STRING016 = "BYTE"
  555.             INTEGER010 = INTEGER010 - INTEGER008
  556.             INTEGER022 = INTEGER027 / INTEGER006
  557.             INTEGER022 = INTEGER022 * INTEGER005
  558.             DATE002 = Date()
  559.             INTEGER007 = INTEGER022
  560.             STRING015 = "TIME"
  561.             INTEGER009 = INTEGER009 + INTEGER007
  562.             Gosub LABEL011
  563.         Endif
  564.         Goto LABEL009
  565.     Endif
  566.     If (Upper(STRING026) == "T") Then
  567.         AnsiPos 15, 23
  568.         STRING023 = INTEGER005
  569.         InputStr "@X0EInput Time amount you wish to Exchange, in increments of@X07 " + STRING023, STRING026, 4, 10, "9876543210", 32
  570.         AnsiPos 15, 23
  571.         InputStr "@X0EAre you sure you wish to exchange " + STRING026 + " Minutes@X07", STRING028, 4, 1, "YyNn", 32
  572.         If (Upper(STRING028) == "Y") Then
  573.             INTEGER027 = STRING026
  574.             If (INTEGER027 > INTEGER009) Then
  575.                 AnsiPos 5, 23
  576.                 InputStr "Value entered is more than Time saved. Hit enter to continue.", STRING026, 9, 1, "", 32
  577.                 Goto LABEL009
  578.             Endif
  579.             If (INTEGER027 > STRING006) Then
  580.                 AnsiPos 1, 23
  581.                 InputStr "Value entered is more than Maximum Time allowed . Hit enter to continue.", STRING026, 9, 1, "", 32
  582.                 Goto LABEL007
  583.             Endif
  584.             If (INTEGER027 < INTEGER005) Then
  585.                 AnsiPos 1, 23
  586.                 InputStr "Value entered is less than then minimum value of " + STRING023 + ". Hit enter to continue.", STRING026, 9, 1, "", 32
  587.                 Goto LABEL007
  588.             Endif
  589.             DATE003 = Date()
  590.             INTEGER008 = INTEGER027
  591.             STRING016 = "TIME"
  592.             INTEGER009 = INTEGER009 - INTEGER008
  593.             INTEGER022 = INTEGER027 / INTEGER005
  594.             INTEGER022 = INTEGER022 * INTEGER006
  595.             DATE002 = Date()
  596.             INTEGER007 = INTEGER022
  597.             STRING015 = "BYTE"
  598.             INTEGER010 = INTEGER010 + INTEGER007
  599.             Gosub LABEL011
  600.         Endif
  601.         Goto LABEL009
  602.     Endif
  603.     Goto LABEL009
  604.     :LABEL010
  605.     STRING018 = U_Name()
  606.     STRING025 = PPEPath()
  607.     STRING025 = STRING025 + "DEPOSIT.DAT"
  608.     FOpen 2, STRING025, 0, 0
  609.     INTEGER026 = 0
  610.     INTEGER017 = 1
  611.     While (INTEGER026 == 0) Do
  612.         FGet 2, STRING019
  613.         If (STRING019 == "") Then
  614.             INTEGER026 = 1
  615.             Continue
  616.         Endif
  617.         INTEGER017 = INTEGER017 + 1
  618.     EndWhile
  619.     FClose 2
  620.     STRING025 = PPEPath()
  621.     STRING025 = STRING025 + "DEPOSIT.NDX"
  622.     FAppend 1, STRING025, 2, 0
  623.     INTEGER011 = INTEGER017
  624.     STRING023 = INTEGER011
  625.     FPutLn 1, STRING018, "/", STRING023
  626.     FClose 1
  627.     STRING025 = PPEPath()
  628.     STRING025 = STRING025 + "DEPOSIT.DAT"
  629.     FAppend 2, STRING025, 2, 0
  630.     STRING014 = U_Name()
  631.     DATE001 = "00-00-00"
  632.     DATE002 = "00-00-00"
  633.     DATE003 = "00-00-00"
  634.     INTEGER007 = 0
  635.     INTEGER008 = 0
  636.     STRING015 = "NA"
  637.     STRING016 = "NA"
  638.     INTEGER009 = 0
  639.     INTEGER010 = 0
  640.     INTEGER028 = 0
  641.     INTEGER029 = 0
  642.     FPutLn 2, STRING014
  643.     FPutLn 2, Date()
  644.     FPutLn 2, DATE002
  645.     FPutLn 2, DATE003
  646.     FPutLn 2, INTEGER007
  647.     FPutLn 2, INTEGER008
  648.     FPutLn 2, STRING015
  649.     FPutLn 2, STRING016
  650.     FPutLn 2, INTEGER009
  651.     FPutLn 2, INTEGER010
  652.     FPutLn 2, INTEGER028
  653.     FPutLn 2, INTEGER029
  654.     FClose 2
  655.     Return
  656.     :LABEL011
  657.     INTEGER012 = 0
  658.     Cls
  659.     STRING020 = PPEPath()
  660.     STRING020 = STRING020 + "USERMNU.PCB"
  661.     INTEGER014 = 1
  662.     TSTRING021(INTEGER014) = STRING020
  663.     Gosub LABEL012
  664.     DispFile TSTRING021(INTEGER014), 0
  665.     INTEGER016 = GetX()
  666.     INTEGER015 = GetY()
  667.     AnsiPos 46, 2
  668.     Print "@X71" + STRING017 + "@X07"
  669.     AnsiPos 17, 6
  670.     Print "@X70" + U_Name() + "@X07"
  671.     AnsiPos 66, 6
  672.     Print "@X70" + STRING001 + "@X07"
  673.     AnsiPos 24, 7
  674.     STRING023 = MinLeft()
  675.     Print "@X70" + STRING023 + "@X07"
  676.     AnsiPos 70, 7
  677.     Print "@X70" + STRING002 + "@X07"
  678.     AnsiPos 26, 8
  679.     Print "@X70" + STRING005 + "@X07"
  680.     AnsiPos 70, 8
  681.     STRING023 = U_BdlDay()
  682.     Print "@X70" + STRING023 + "@X07"
  683.     AnsiPos 26, 9
  684.     Print "@X70" + STRING004 + "@X07"
  685.     AnsiPos 70, 9
  686.     Print "@X70" + STRING003 + "@X07"
  687.     AnsiPos 25, 14
  688.     STRING010 = DATE002
  689.     Print "@X70" + STRING010 + "@X07"
  690.     AnsiPos 56, 14
  691.     STRING023 = INTEGER007
  692.     Print "@X70" + STRING023 + "@X07"
  693.     AnsiPos 72, 14
  694.     Print "@X70" + STRING015 + "@X07"
  695.     AnsiPos 25, 15
  696.     STRING011 = DATE003
  697.     Print "@X70" + STRING011 + "@X07"
  698.     AnsiPos 56, 15
  699.     STRING023 = INTEGER008
  700.     Print "@X70" + STRING023 + "@X07"
  701.     AnsiPos 72, 15
  702.     Print "@X70" + STRING016 + "@X07"
  703.     AnsiPos 25, 16
  704.     STRING023 = INTEGER009
  705.     Print "@X70" + STRING023 + "@X07"
  706.     AnsiPos 59, 16
  707.     STRING023 = INTEGER010
  708.     Print "@X70" + STRING023 + "@X07"
  709.     AnsiPos 25, 17
  710.     STRING009 = DATE001
  711.     Print "@X70" + STRING009 + "@X07"
  712.     AnsiPos 28, 18
  713.     STRING023 = STRING006
  714.     Print "@X70" + STRING023 + "@X07"
  715.     AnsiPos 61, 18
  716.     STRING023 = STRING007
  717.     Print "@X70" + STRING023 + "@X07"
  718.     AnsiPos INTEGER016, INTEGER015
  719.     Return
  720.     :LABEL012
  721.     If (Exist(TSTRING021(INTEGER014))) Return
  722.     Wait
  723.     PrintLn Space(17) + "*********************************************"
  724.     PrintLn Space(17) + "*                                           *"
  725.     PrintLn Space(17) + "*               FILE ERROR                  *"
  726.     PrintLn Space(17) + "*                                           *"
  727.     PrintLn Space(17) + "* Please tell Sysop that the following file *"
  728.     PrintLn Space(17) + "* did not exist or is not in correct path : *"
  729.     PrintLn Space(17) + "*               " + TSTRING021(INTEGER014) + Space(20) + "*"
  730.     PrintLn Space(17) + "*********************************************"
  731.     PrintLn Space(1)
  732.     Wait
  733.     Goto LABEL004
  734.     :LABEL013
  735.     INTEGER013 = 1
  736.     STRING025 = PPEPath()
  737.     STRING025 = STRING025 + "DEPOSIT.TMP"
  738.     DATE001 = Date()
  739.     FCreate 2, STRING025, 2, 0
  740.     FPutLn 2, INTEGER011
  741.     FPutLn 2, STRING014
  742.     FPutLn 2, DATE001
  743.     FPutLn 2, DATE002
  744.     FPutLn 2, DATE003
  745.     FPutLn 2, INTEGER007
  746.     FPutLn 2, INTEGER008
  747.     FPutLn 2, STRING015
  748.     FPutLn 2, STRING016
  749.     FPutLn 2, INTEGER009
  750.     FPutLn 2, INTEGER010
  751.     FPutLn 2, INTEGER028
  752.     FPutLn 2, INTEGER029
  753.     FClose 2
  754.     STRING020 = PPEPath()
  755.     STRING029 = PPEPath()
  756.     STRING020 = STRING020 + "DATAUPD.EXE"
  757.     STRING029 = STRING029
  758.     Shell 1, STRING027, STRING020, STRING029
  759.     Return
  760.  
  761. ;------------------------------------------------------------------------------
  762. ;
  763. ; Usage report (before postprocessing)
  764. ;
  765. ; ■ Statements used :
  766. ;
  767. ;    1       End
  768. ;    7       Cls
  769. ;    2       Wait
  770. ;    117     Goto 
  771. ;    238     Let 
  772. ;    22      Print 
  773. ;    11      PrintLn 
  774. ;    76      If 
  775. ;    2       DispFile 
  776. ;    1       FCreate 
  777. ;    7       FOpen 
  778. ;    2       FAppend 
  779. ;    19      FClose 
  780. ;    21      FGet 
  781. ;    26      FPutLn 
  782. ;    5       GetUser
  783. ;    3       PutUser
  784. ;    2       AdjTime 
  785. ;    5       Log 
  786. ;    31      InputStr 
  787. ;    16      Gosub 
  788. ;    4       Return
  789. ;    1       CdChkOn
  790. ;    1       Delay 
  791. ;    3       Shell 
  792. ;    3       Stop
  793. ;    1       Bye
  794. ;    55      AnsiPos 
  795. ;    2       WrUSys
  796. ;    2       RdUSys
  797. ;
  798. ;
  799. ; ■ Functions used :
  800. ;
  801. ;    2       -
  802. ;    5       *
  803. ;    5       /
  804. ;    111     +
  805. ;    16      -
  806. ;    44      ==
  807. ;    3       <>
  808. ;    9       <
  809. ;    2       <=
  810. ;    17      >
  811. ;    65      !
  812. ;    2       Len(
  813. ;    19      Upper()
  814. ;    11      Mid()
  815. ;    10      Space()
  816. ;    4       InStr()
  817. ;    11      Date()
  818. ;    4       U_Name()
  819. ;    1       U_Ful()
  820. ;    1       U_Fdl()
  821. ;    5       U_BdlDay()
  822. ;    13      PPEPath()
  823. ;    6       MinLeft()
  824. ;    2       GetEnv()
  825. ;    3       Exist()
  826. ;    1       GetX()
  827. ;    1       GetY()
  828. ;
  829. ;------------------------------------------------------------------------------
  830. ;
  831. ; Analysis flags : WAS
  832. ;
  833. ; W - Write user ■ 5
  834. ;     Program writes a user record. Although this may be normal for a
  835. ;     User Editor, it may also be a way to modify an account level.
  836. ;     ■ Search for : PUTUSER
  837. ;
  838. ; A - Adjust online time remaining ■ 5
  839. ;     Program modify the amount of online time remaining, this may
  840. ;     be a way to bypass time limits
  841. ;     ■ Search for : ADJTIME
  842. ;
  843. ; S - Shell to DOS ■ 5
  844. ;     This may be normal if the PPE need to execute an external command,
  845. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  846. ;     or usefull (sorting, maintenance,...). Check!
  847. ;     ■ Search for : SHELL
  848. ;
  849. ;------------------------------------------------------------------------------
  850. ;
  851. ; Postprocessing report
  852. ;
  853. ;    0       For/Next
  854. ;    10      While/EndWhile
  855. ;    55      If/Then or If/Then/Else
  856. ;    0       Select Case
  857. ;
  858. ;------------------------------------------------------------------------------
  859. ;                 AEGiS Corp - Break the routines, code against the machines!
  860. ;------------------------------------------------------------------------------
  861.